discrete element method icin c++ ile yade diye bi program yazmislar, program python kodlari ile calisiyor, icinde "if 0:" gecen bi yer var. bu ne demek, oncesinde de bi aciklama bi sey yok. oraya gelene kadar da kodun tam hali su sekilde aciklamalari ile beraber:# setup the periodic boundaryO.perio
discrete element method icin c++ ile yade diye bi program yazmislar, program python kodlari ile calisiyor, icinde "if 0:" gecen bi yer var. bu ne demek, oncesinde de bi aciklama bi sey yok. oraya gelene kadar da kodun tam hali su sekilde aciklamalari ile beraber:
# setup the periodic boundary
O.periodic=True
O.cell.refSize=(2,2,2)
from yade import pack,plot
# the "if 0:" block will be never executed, therefore the "else:" block will be
# to use cloud instead of regular packing, change to "if 1:" or something similar
if 0:
# create cloud of spheres and insert them into the simulation
# we give corners, mean radius, radius variation
sp=pack.SpherePack()
sp.makeCloud((0,0,0),(2,2,2),rMean=.1,rRelFuzz=.6,periodic=True)
# insert the packing into the simulation
sp.toSimulation(color=(0,0,1)) # pure blue
else:
# in this case, add dense packing
O.bodies.append(
pack.regularHexa(pack.inAlignedBox((0,0,0),(2,2,2)),radius=.1,gap=0,color=(0,0,1))
)
...
code'un ne anlattigini pek tabii sormuyorum.
O.peridodic=true bi seyi active ediyormus. onu bi diyim soran varsa.
neyse, soruyu tek cumleye indirirsem:
pyhton'da "if 0:" diye bi kalip var mi? varsa nedir?
0
comment'te anlatiyor.
cevirmek gerekirse if 0: kismi calismayacak else calisacak diyor, eger regular packing yerine cloud kullanmak istiyorsaniz 0'i 1 yapin diyor.
if 0:, if false ile, if 1=2 ile ayni sey. makas gibi kullanmis iste de ne gerek var, parametrik yapaymis keske, bu kadar da performans manyagi olunmaz ki canim.
0
tasa oturma soguk ceker
(
04.06.12)
abi, saol da valla hicbir sey anlamadim dediklerinden. o kisim calismayacak, obur kisim calisacak da, kod/makina bunu nerden anliyor? ben fortran biliyorum, if dediginden sonra bi sey yazarsin, burda da oyle bi baginti/iliski bulmaya calisiyorum, hata mi ediyorum? olmadi bi daha bi anlatir misiniz anneye anlatir gibi? tesekkur.
0
fortran'daki if'le bir farkı yok. şu anda if 0: ve altında else'e kadar olan satırlar hiçbir zaman çalışmayacak.
eğer olur da, kodunuzda cloud packing kullanmak isterseniz, o satırı if 1: yaparsanız da o satırlar çalışacak, else:'in altındakiler çalışmayacak.
ya da daha genel anlatırsak:
eğer kodunuzda 2 birbirinin alternatifi olacak 2 farklı kod snippet'i kullanmak istiyorsanız,
if 0:
kod1
else:
kod2
yazarsanız bu sadece kod1 yazmanızla eşdeğer olur. ama bir gün gelir ki kodunuzda artık kod1 yerine kod2'nin çalışmasını istiyorsanız, ilk satırı "if 1:"e değiştirmek yetecekti (bunun bir alternatifi her satırı comment out edip, diğer bloğu geride bırakmak, ama her seferinde buna üşenip böyle işlere girişenler oluyor).
0
simendiferlerin efendisi
(
05.06.12)
hepsi super de
bunun mantigi ne ki?
benim bildigim
if dersin, sonra bi condition yazarsin
ne biliyim
if x>2
sunu sunu yap
ben boyle bi baginti kurmaya calisiyorum, hata mi ediyorum, neyi atliyorum?
if 0:
bundan ne anlamak lazim ki? eger 0 iki nokta ust uste, bi sart falan da degil, nedir hala da anlamis degilim. hayir,
if 0:
kod 1
else
kod 2
de, sifir ne orda, alet ne anliyor bu "0:" dan?
0
"if 0:" yazmak ile "if false:" yazmak aynı şey. veya "if 0 > 1:" yazmak ile aynı şey. şairimiz o bloğun çalışmasını istemediğinden, oranın çalışmasını engelleyecek bir koşul koymuş. onun dışında sentaksta sıra dışı bir durum yok. her zaman kullanılan if statement o.
0
simendiferlerin efendisi
(
06.06.12)